/*
Copyright (c) [2019年5月1日] [吴超]
[MBT_studio] is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan PSL v2.
You may obtain a copy of Mulan PSL v2 at:
		 http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.
*/
#pragma once


#include <几何数据.h>

#include <vulkan/vulkan.h>

#include "core/设备内存缓存.h"
//#include "资产/着色/着色.h"



VkDescriptorSetLayoutBinding			f_创建阶段着色布局绑定描述(	VkDevice& dev, uint32 绑定位置, uint32 参数成员数量,
														const VkDescriptorType 着色器参数类型=VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
														const VkShaderStageFlagBits 着色阶段=VK_SHADER_STAGE_VERTEX_BIT);

VkDescriptorSetLayout	f_vk_创建着色器参数布局设置(VkDevice& dev,std::vector<VkDescriptorSetLayoutBinding>& 绑定描述);
VkPipelineLayout		f_vk_创建线管布局(VkDevice& dev, std::vector<VkDescriptorSetLayout>& GPU资源布局描述);

//void					f_vk_销毁线管步进(VkDevice& dev);
//void f_创建描述集合(VkDevice& dev);
//void f_分配描述集合(VkDevice& dev);

//typedef struct {
//	uint32			绑定位置;
//	uint32			数组数量;
//	E_板载缓存类型	GPU参数类型;
//	E_着色阶段		着色阶段;
//}S_着色参数布局创建参数;


//VkDescriptorSetLayout					f_创建着色程序参数布局(std::vector<S_着色参数布局创建参数> 参数, VkDevice& dev);



